<?php
use think\facade\Env;

// +----------------------------------------------------------------------
// | 缓存设置
// +----------------------------------------------------------------------

return [
    // 默认缓存驱动
    'default' => Env::get('cache.driver', 'file'),

    // 缓存连接方式配置
    'stores'  => [
        'file' => [
            // 驱动方式
            'type'       => 'File',
            // 缓存保存目录，多应用模式下如果希望统一缓存，应该设置相同的路径
            'path'       => '',
            // 缓存前缀
            'prefix'     => '',
            // 缓存有效期 0表示永久缓存
            'expire'     => 0,
            // 缓存标签前缀
            'tag_prefix' => 'tag:',
            // 序列化机制 例如 ['serialize', 'unserialize']
            'serialize'  => [],
        ],
        // redis缓存
        'redis'   =>  [
            // 驱动方式
            'type'   => 'redis',
            // 服务器地址
            'host'       => '127.0.0.1',
            // 服务器端口
//            'port'   => 6379,
            // 密码（如有）
//            'password' => 'redis_password',
        ],
        // 更多的缓存连接
    ],
];

//设置缓存
// 缓存在3600秒之后过期
// Cache::set('name', $value, 3600);

// 设置在指定时间过期
// Cache::set('name', $value, new DateTime('2019-10-01 12:00:00'));

// name自增（步进值为1）
// Cache::inc('name');
// name自增（步进值为3）
// Cache::inc('name',3);
// name自减（步进值为1）
// Cache::dec('name');
// name自减（步进值为3）
// Cache::dec('name',3);

//获取缓存
//Cache::get('name'); 不存在返回null，可设置第二参数表示默认值

//缓存追加
//Cache::set('name', [1,2,3]);
//Cache::push('name', 4);

//删除缓存
//Cache::delete('name');
//获取并删除缓存
//Cache::pull('name');
//清空缓存
//Cache::clear();

//不存在则写入
//Cache::remember('start_time', time());

//助手函数
// 设置缓存数据
//cache('name', $value, 3600);
// 获取缓存数据
//var_dump(cache('name'));
// 删除缓存数据
//cache('name', NULL);
// 返回缓存对象实例
//$cache = cache();

//切换缓存类型
// 使用Redis缓存
//Cache::store('redis')->set('name','value',3600);
//Cache::store('redis')->get('name');

// 使用原生Redis的方法
//$redis = Cache::store('redis')->handler(); // 这条代码等于  $redis = new \Redis();
//$redis->set("info",'hello world');   // 设置字段
//$redis->expire("info",10);  // 设置过期时间
//var_dump($result); //1 没过期，2 为过期；